/*
 * ArchivoRepositorios.cpp
 *
 *  Created on: 29/05/2013
 *      Author: jonathan
 */

#include "ArchivoRepositorios.h"
#include "../../commons/ArchivoUtils.h"
#include <exception>
void ArchivoRepositorios::escribir(string repo, string path) {
	this->stream->seekgFinal(0);
	//cuantos caracteres;
	escribirBinario(this->stream, repo.size(),8);
	//el nombre del repo
	for(string::iterator it = repo.begin(); it!= repo.end(); ++it){
		this->stream->put(*it);
	}
//	escribirNumeroVariable(this->stream,path);

}

FileName ArchivoRepositorios::getPath(string repo) {
	return "";
}

ArchivoRepositorios::ArchivoRepositorios(FileName archivo, ios_base::openmode mode) {
	this->stream = new BitStream(archivo, mode);
	//si no abrió intento crearlo
	if (!this->stream->good()) {
		this->stream = new BitStream(archivo, ios_base::out);
		delete (this->stream);
		this->stream = new BitStream(archivo, mode);
		if(!this->stream->good()){
			throw exception();
		}
	}
}

ArchivoRepositorios::~ArchivoRepositorios() {
	delete this->stream;
}
